Hybrid automatic repeat request (HARQ) is a scheme to improve throughput performance of a communication system, such as an orthogonal frequency division multiplexing (OFDM) based communication system or a multi-input and multi-output (MIMO) system. Based on the HARQ scheme, error detection and correction may be performed on transmitted data, based on retransmission of the data.
For example, the HARQ scheme may include a type-I HARQ scheme, also referred to as a chase combining scheme, and a type-II HARQ scheme, also referred to as an incremental redundancy scheme. Based on the type-I HARQ scheme, a sequence of coded bits during a retransmission is typically the same as a sequence of the coded bits during a previous transmission. As a result, ones of the coded bits may always be mapped to high-reliability bit positions for a bit mapper in the communication system. Based on the type-II HARQ scheme, a sequence of coded bits during a retransmission is typically different from a sequence of the coded bits during a previous transmission. However, the bit mapper in the communication system typically does not perform bit mapping based on characteristics of the coded bits, such as bit significance. For example, ones of the coded bits may have a relatively higher level of significance than remaining ones of the coded bits. As a result, based on the type-II HARQ scheme, coded bits that have a relatively high level of significance may be mapped to low-reliability bit positions for the bit mapper in the communication system.
Traditionally, the HARQ scheme may be used after a channel encoder in the communication system performs channel encoding of source bits, representing original data to be transmitted, to generate the coded bits. For example, the channel encoder may include a convolutional turbo codes (CTC) encoder to perform channel encoding. The channel encoder may further include subblock interleavers to perform interleaving of the generated coded bits based on a subblock interleaving method.
FIG. 1 illustrates a conventional subblock interleaving method 100, according to IEEE standard 802.16e. An output of a CTC encoder (not shown) is separated into six data subblocks A 102, B 104, Y1 106, Y2 108, W1 110, and W2 112. The data subblocks A 102 and B 104 include systematic bits of an encoded bit sequence. The data subblocks Y1 106 and W1 110 include parity bits of the encoded bit sequence in an original order. The data subblocks Y2 108 and W2 112 include parity bits of the encoded bit sequence after interleaving. The six data subblocks A 102, B 104, Y1 106, Y2 108, W1 110, and W2 112 are further interleaved by subblock interleavers 122, 124, 126, 128, 130, and 132, respectively. As a result, as shown in FIG. 1, an output may be data subblocks A, B, Y1′, Y2′, W1′, and W2′. The data subblocks A and B include the systematic bits, which have a relatively high level of significance. The data subblocks Y1′, Y2′, W1′, and W2′ include the parity bits, which have a relatively low level of significance.